/**********************************************
        CS515  Compilers  Project1
        Fall  2011
**********************************************/

#ifndef SYMTAB_H
#define SYMTAB_H

#include <string.h>

/* The symbol table implementation uses a single hash     */
/* function. Starting from the hashed position, entries   */
/* are searched in increasing index order until a         */
/* matching entry is found, or an empty entry is reached. */


typedef struct {
  char *name;
  /* need to add stuff here */
  int offset; /* the address offset of this variable */
  int dim1;
  int dim2;
} SymTabEntry;

extern
void InitSymbolTable();

extern
SymTabEntry * lookup(char *name);

extern
void insert(char *name);

extern
void PrintSymbolTable();


#endif
